﻿using Newtonsoft.Json;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SYT.AliApiHandle
{
    public class GetSingleProductApi
    {
        //获取订单。
        public static ArrayList NewGetSellerCats(string memberId, string access_token)
        {
            string api = "https://gw.open.1688.com/openapi/param2/1/cn.alibaba.open/category.getSelfCatlist";
            Dictionary<string, string> dic = new Dictionary<string, string>();
            dic.Add("memberId", memberId);
            string jsonStr = ApiHelp.RunHttps(api, dic, access_token, "post");
            Hashtable hs = (Hashtable)PluSoft.Utils.JSON.Decode(jsonStr);
            Hashtable result = (Hashtable)hs["result"];
            System.Collections.ArrayList toReturn = (System.Collections.ArrayList)(result["toReturn"]);
            Hashtable toReturn0 = (Hashtable)(toReturn[0]);
            System.Collections.ArrayList sellerCats = (System.Collections.ArrayList)toReturn0["sellerCats"];

            return sellerCats;
        }
       


        //*******************************************（获取产品列表）接口
        /// <summary>
        /// 产品搜索
        /// </summary>
        /// <param name="pageNo">当分页查询时指定请求的数据页</param>
        /// <param name="pageSize">单页条数 </param>
        /// <param name="orderBy">搜索排序字段支持如下： gmt_create：创建时间； gmt_post：发布时间； gmt_modified：修改时间； gmt_approved：审核通过时间；
        /// gmt_expire：过期时间； status：状态； 格式如 排序字段:升降序, 多个用“;” 分割 </param>
        /// <param name="q">搜索关键字，现在主要支持按标题搜索 </param>
        /// <param name="category">发布类目编号(阿里类目)</param>
        /// <param name="gmtModifiedBegin">查询修改时间结束时刻.要求 gmtModifedBegin 早于 gmtModifiedEnd </param>
        /// <param name="gmtModifiedEnd">查询修改时间结束时刻.要求 gmtModifedEnd 晚于 gmtModifiedBegin </param>
        /// <param name="qualityLevel">供应产品星级</param>
        /// <param name="groupIds">会员自定义类别ID </param>
        /// <param name="status">Offer状态 ：published,(上线)TDB,deleted(删除),new(待审)</param>
        /// <returns></returns>
        public static Hashtable ProductSearch(string pageNo, string pageSize, string orderBy, string q, string category, string gmtModifiedBegin, string gmtModifiedEnd, string qualityLevel, string groupIds, string status, string memberId)
        {
            string apiName = "https://gw.open.1688.com/openapi/param2/1/cn.alibaba.open/offer.search";
            Dictionary<string, string> dl = new Dictionary<string, string>();
            if (!string.IsNullOrEmpty(pageNo)) { dl.Add("pageNo", pageNo); }
            if (!string.IsNullOrEmpty(pageSize)) { dl.Add("pageSize", pageSize); }
            if (!string.IsNullOrEmpty(orderBy)) { dl.Add("orderBy", orderBy); }
            if (!string.IsNullOrEmpty(q)) { dl.Add("q", q); }
            if (!string.IsNullOrEmpty(category)) { dl.Add("category", category); }
            if (!string.IsNullOrEmpty(gmtModifiedBegin)) { dl.Add("gmtModifiedBegin", gmtModifiedBegin); }
            if (!string.IsNullOrEmpty(gmtModifiedEnd)) { dl.Add("gmtModifiedEnd", gmtModifiedEnd); }
            if (!string.IsNullOrEmpty(qualityLevel)) { dl.Add("qualityLevel", qualityLevel); }
            if (!string.IsNullOrEmpty(groupIds)) { dl.Add("groupIds", groupIds); }
            if (!string.IsNullOrEmpty(status)) { dl.Add("status", status); }

            dl.Add("webSite", "1688");//请求固定为1688国内站
            //dl.Add("memberId", "chinatyj");
            dl.Add("memberId", memberId);
            string textproductList = ApiHelp.RunHttpQianming(apiName, dl);
            Hashtable hashtablea = (Hashtable)PluSoft.Utils.JSON.Decode(textproductList);
            return hashtablea;
        }

        //***************************************************处理接口返回数据******************************************************************************************************

    }
}
